package com.hmall.pay.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 支付确认表单数据传输对象
 * 用于用户确认支付时提交的验证信息
 * 包含支付订单标识和安全验证参数
 */
@Data
@Builder
@ApiModel(description = "支付确认表单实体，用于用户支付验证")
public class PayOrderFormDTO {

    /**
     * 支付订单ID
     * 支付系统生成的唯一订单标识
     * 必须填写，用于定位待支付的订单
     * 对应数据库表pay_order的id字段
     */
    @ApiModelProperty(value = "支付订单ID", required = true, example = "20230615001")
    @NotNull(message = "支付订单ID不能为空")
    private Long id;

    /**
     * 支付密码
     * 用户设置的支付验证密码
     * 必须填写，用于验证用户身份和支付权限
     * 实际应用中应加密传输和存储
     */
    @ApiModelProperty(value = "支付密码", required = true, example = "123456")
    @NotNull(message = "支付密码不能为空")
    private String pw;

}